Skip to main content

Update

xLua doesn't have an update function by itself, but we can fake it. The following script can be added to LuaBehaviour or InteractTriggerX to start a endless looping script.

It is very important though that you call the RemoveSchedule script in the OnDestroy function so that it stops when the weapon is destroyed.

Example​

Updates every 0.3 seconds, and starts after 0.2 seconds


local table = {}

function table:Awake()
self.scheId = null;

self.speed = 1;
self.schedulerInterval = 0.3
self.timeBeforeStopping = -1
self.timeBeforeStarting = 0.2
end

function table:Start()
self.scheId = CL.Scheduler.Create({},
function(sche, t, s)
print("im updating!");
end
, self.schedulerInterval, self.timeBeforeStopping, self.timeBeforeStarting)
:SetUpdateChannel(CL.Scheduler.UpdateChannel.FixedUpdate)
:IgnoreTimeScale(true)
:SetOnStop(function(sche)
print("Im stopping now")
end).actionId
end

function table:OnDestroy()
CL.Scheduler.RemoveSchedule(self.scheId)
end

return Class(nil,nil,table)

User Variables​

No user variables.

FAQ​

Can I stop this after a certain time?​

Just change the self.timeBeforeStopping = -1; to self.timeBeforeStopping = 10;